%pylab inline
import matplotlib.pyplot as plt
See Eq. (25.1.61) and Fig. 25.2 in Jenő Sólyom: Fundamentals of the Physics of Solids, Volume 1: Structure and Dynamics (A modern szilárdtestfizika alpajai I. A szilárd testek szerkezete és dinamikája) see here.
# Az abra kimentesehez az alabbiakat a plt.show() ele kell tenni!!!
#savefig('fig_rainbow_p2_1ray.pdf'); # Abra kimentese
#savefig('fig_rainbow_p2_1ray.eps'); # Abra kimentese
# Abra es fontmeretek
xfig_meret= 8 # 12 nagy abrahoz
yfig_meret= 6 # 12 nagy abrahoz
xyticks_meret= 15 # 20 nagy abrahoz
xylabel_meret= 21 # 30 nagy abrahoz
legend_meret= 21 # 30 nagy abrahoz
def epsilon_r(om_per_omega_p,omega_p_tau):
tmp = 1- omega_p_tau**2/((om_per_omega_p*omega_p_tau)**2+1j*(om_per_omega_p*omega_p_tau))
return tmp
def Reflection(n_re,k_im):
tmp = ((n_re-1)**2+k_im**2)/((n_re+1)**2+k_im**2)
return(tmp)
Npoints=100;
ommax=4;
x = linspace(0.01,ommax,Npoints)
om_p_tau=[1]
#szin=['k','brown','g','b','r']
szin=['k','b','r']
e1_vec = []
e2_vec = []
for j in range(len(om_p_tau)):
e1_vec.append(epsilon_r(x,om_p_tau[j]).real)
e2_vec.append(epsilon_r(x,om_p_tau[j]).imag)
figsize(xfig_meret,xfig_meret)
subplot(1,1,1)
[plot(x,e1_vec[j],label=r'$\varepsilon_1$',color='r') \
for j in range(len(om_p_tau))];
[plot(x,e2_vec[j],label=r'$\varepsilon_2$',color='b') \
for j in range(len(om_p_tau))];
cim=r'$\varepsilon_1, \varepsilon_2 \quad \mathrm{with }\quad \omega_p \tau= $' +str(om_p_tau[0])
legend(loc='upper right',fontsize=legend_meret)
xlabel(r'$\omega/\omega_{p}$',fontsize=20)
#ylabel(r'$n$',fontsize=20)
ylim(0,1.5)
title(cim,fontsize=20)
grid();
Npoints=100;
ommax=5;
x = linspace(0.01,ommax,Npoints)
om_p_tau=[100]
#szin=['k','brown','g','b','r']
szin=['k','b','r']
e1_vec = []
e2_vec = []
for j in range(len(om_p_tau)):
e1_vec.append(epsilon_r(x,om_p_tau[j]).real)
e2_vec.append(epsilon_r(x,om_p_tau[j]).imag)
figsize(xfig_meret,xfig_meret)
subplot(1,1,1)
[plot(x,e1_vec[j],label=r'$\varepsilon_1$',color='r') \
for j in range(len(om_p_tau))];
[plot(x,e2_vec[j],label=r'$\varepsilon_2$',color='b') \
for j in range(len(om_p_tau))];
cim=r'$\varepsilon_1, \varepsilon_2 \quad \mathrm{with }\quad \omega_p \tau= $' +str(om_p_tau[0])
legend(loc='lower right',fontsize=legend_meret)
xlabel(r'$\omega/\omega_{p}$',fontsize=20)
#ylabel(r'$n$',fontsize=20)
ylim(-2,1.5)
title(cim,fontsize=20)
grid();
Npoints=100;
ommax=4;
x = linspace(0.01,ommax,Npoints)
om_p_tau=[100]
#szin=['k','brown','g','b','r']
szin=['k','b','r']
n_vec = []
kappa_vec = []
for j in range(len(om_p_tau)):
n_vec.append(sqrt(epsilon_r(x,om_p_tau[j])).real)
kappa_vec.append(sqrt(epsilon_r(x,om_p_tau[j])).imag)
figsize(xfig_meret,xfig_meret)
subplot(1,1,1)
[plt.semilogy(x,n_vec[j],label=r'$n$',color='r') \
for j in range(len(om_p_tau))];
[plt.semilogy(x,kappa_vec[j],label=r'$\kappa$',color='b') \
for j in range(len(om_p_tau))];
cim=r'$n, \kappa \quad \mathrm{with }\quad \omega_p \tau= $' +str(om_p_tau[0])
legend(loc='upper right',fontsize=legend_meret)
xlabel(r'$\omega/\omega_{p}$',fontsize=20)
#ylabel(r'$n$',fontsize=20)
#ylim(-10**(-6),10**4)
title(cim,fontsize=20)
grid();
Npoints=100;
ommax=2;
x = linspace(0.001,ommax,Npoints)
om_p_tau=[2]
#szin=['k','brown','g','b','r']
szin=['k','b','r']
n_vec = []
kappa_vec = []
for j in range(len(om_p_tau)):
n_vec.append(sqrt(epsilon_r(x,om_p_tau[j])).real)
kappa_vec.append(sqrt(epsilon_r(x,om_p_tau[j])).imag)
figsize(xfig_meret,xfig_meret)
subplot(1,1,1)
[plt.semilogy(x,n_vec[j],label=r'$n$',color='r') \
for j in range(len(om_p_tau))];
[plt.semilogy(x,kappa_vec[j],label=r'$\kappa$',color='b') \
for j in range(len(om_p_tau))];
cim=r'$n, \kappa \quad \mathrm{with }\quad \omega_p \tau= $' +str(om_p_tau[0])
legend(loc='upper right',fontsize=legend_meret)
xlabel(r'$\omega/\omega_{p}$',fontsize=20)
#ylabel(r'$n$',fontsize=20)
#ylim(-3,2)
title(cim,fontsize=20)
grid();
Npoints=100;
ommax=5;
x = linspace(0.01,ommax,Npoints)
om_p_tau=[1,10,100]
#szin=['k','brown','g','b','r']
szin=['k','b','r']
n_vec = []
kappa_vec = []
for j in range(len(om_p_tau)):
n_vec.append(sqrt(epsilon_r(x,om_p_tau[j])).real)
kappa_vec.append(sqrt(epsilon_r(x,om_p_tau[j])).imag)
xfig=3
figsize(2*xfig_meret,xfig_meret)
ymax=2
subplot(1,2,1)
[plot(x,n_vec[j],label=r'$\omega_p \tau=$'+str(om_p_tau[j]),color=szin[j]) \
for j in range(len(om_p_tau))];
cim2=r'$n$ with damping'
legend(loc='upper right',fontsize=legend_meret)
xlabel(r'$\omega/\omega_{p}$',fontsize=20)
ylabel(r'$n$',fontsize=20)
ylim(0,ymax)
title(cim2,fontsize=20)
subplot(1,2,2)
[plot(x,kappa_vec[j],label=r'$\omega_p \tau=$'+str(om_p_tau[j]),color=szin[j]) \
for j in range(len(om_p_tau))];
#[plot(x,Reflection(n_vec[j],kappa_vec[j]),label=r'$\omega \tau=$'+str(om_p_tau[j]),color=szin[j]) \
# for j in range(len(om_p_tau))];
cim2=r'$\kappa$ with damping'
legend(loc='upper right',fontsize=legend_meret)
xlabel(r'$\omega/\omega_{p}$',fontsize=20)
ylabel(r'$\kappa$',fontsize=20)
ylim(0,ymax)
title(cim2,fontsize=20)
grid();
Npoints=100;
ommax=2.5;
x = linspace(0.01,ommax,Npoints)
om_p_tau=[0.1,10,100]
#szin=['k','brown','g','b','r']
szin=['k','b','r']
n_vec = []
kappa_vec = []
for j in range(len(om_p_tau)):
n_vec.append(sqrt(epsilon_r(x,om_p_tau[j])).real)
kappa_vec.append(sqrt(epsilon_r(x,om_p_tau[j])).imag)
subplot(1,1,1)
[plot(x,Reflection(n_vec[j],kappa_vec[j]),label=r'$\omega_p \tau=$'+str(om_p_tau[j]),color=szin[j]) \
for j in range(len(om_p_tau))];
cim2=r'$R$ with damping'
legend(loc='upper right',fontsize=legend_meret)
xlabel(r'$\omega/\omega_{p}$',fontsize=20)
ylabel(r'$R$',fontsize=20)
#ylim(0,ymax)
title(cim2,fontsize=20)
grid();